package com.bolong.gmgc.bean.record;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MonthCardQuery implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public MonthCardQuery() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCardIdIsNull() {
            addCriterion("card_id is null");
            return (Criteria) this;
        }

        public Criteria andCardIdIsNotNull() {
            addCriterion("card_id is not null");
            return (Criteria) this;
        }

        public Criteria andCardIdEqualTo(String value) {
            addCriterion("card_id =", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotEqualTo(String value) {
            addCriterion("card_id <>", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThan(String value) {
            addCriterion("card_id >", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThanOrEqualTo(String value) {
            addCriterion("card_id >=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThan(String value) {
            addCriterion("card_id <", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThanOrEqualTo(String value) {
            addCriterion("card_id <=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLike(String value) {
            addCriterion("card_id like", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotLike(String value) {
            addCriterion("card_id not like", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdIn(List<String> values) {
            addCriterion("card_id in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotIn(List<String> values) {
            addCriterion("card_id not in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdBetween(String value1, String value2) {
            addCriterion("card_id between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotBetween(String value1, String value2) {
            addCriterion("card_id not between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andCarNumberIsNull() {
            addCriterion("car_number is null");
            return (Criteria) this;
        }

        public Criteria andCarNumberIsNotNull() {
            addCriterion("car_number is not null");
            return (Criteria) this;
        }

        public Criteria andCarNumberEqualTo(String value) {
            addCriterion("car_number =", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotEqualTo(String value) {
            addCriterion("car_number <>", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberGreaterThan(String value) {
            addCriterion("car_number >", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberGreaterThanOrEqualTo(String value) {
            addCriterion("car_number >=", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLessThan(String value) {
            addCriterion("car_number <", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLessThanOrEqualTo(String value) {
            addCriterion("car_number <=", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLike(String value) {
            addCriterion("car_number like", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotLike(String value) {
            addCriterion("car_number not like", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberIn(List<String> values) {
            addCriterion("car_number in", values, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotIn(List<String> values) {
            addCriterion("car_number not in", values, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberBetween(String value1, String value2) {
            addCriterion("car_number between", value1, value2, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotBetween(String value1, String value2) {
            addCriterion("car_number not between", value1, value2, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNull() {
            addCriterion("card_type is null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNotNull() {
            addCriterion("card_type is not null");
            return (Criteria) this;
        }

        public Criteria andCardTypeEqualTo(Integer value) {
            addCriterion("card_type =", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotEqualTo(Integer value) {
            addCriterion("card_type <>", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThan(Integer value) {
            addCriterion("card_type >", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("card_type >=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThan(Integer value) {
            addCriterion("card_type <", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanOrEqualTo(Integer value) {
            addCriterion("card_type <=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeIn(List<Integer> values) {
            addCriterion("card_type in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotIn(List<Integer> values) {
            addCriterion("card_type not in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeBetween(Integer value1, Integer value2) {
            addCriterion("card_type between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("card_type not between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityIsNull() {
            addCriterion("card_termofvalidity is null");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityIsNotNull() {
            addCriterion("card_termofvalidity is not null");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityEqualTo(Date value) {
            addCriterion("card_termofvalidity =", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityNotEqualTo(Date value) {
            addCriterion("card_termofvalidity <>", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityGreaterThan(Date value) {
            addCriterion("card_termofvalidity >", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityGreaterThanOrEqualTo(Date value) {
            addCriterion("card_termofvalidity >=", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityLessThan(Date value) {
            addCriterion("card_termofvalidity <", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityLessThanOrEqualTo(Date value) {
            addCriterion("card_termofvalidity <=", value, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityIn(List<Date> values) {
            addCriterion("card_termofvalidity in", values, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityNotIn(List<Date> values) {
            addCriterion("card_termofvalidity not in", values, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityBetween(Date value1, Date value2) {
            addCriterion("card_termofvalidity between", value1, value2, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andCardTermofvalidityNotBetween(Date value1, Date value2) {
            addCriterion("card_termofvalidity not between", value1, value2, "cardTermofvalidity");
            return (Criteria) this;
        }

        public Criteria andContractNumberIsNull() {
            addCriterion("contract_number is null");
            return (Criteria) this;
        }

        public Criteria andContractNumberIsNotNull() {
            addCriterion("contract_number is not null");
            return (Criteria) this;
        }

        public Criteria andContractNumberEqualTo(String value) {
            addCriterion("contract_number =", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotEqualTo(String value) {
            addCriterion("contract_number <>", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberGreaterThan(String value) {
            addCriterion("contract_number >", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberGreaterThanOrEqualTo(String value) {
            addCriterion("contract_number >=", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLessThan(String value) {
            addCriterion("contract_number <", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLessThanOrEqualTo(String value) {
            addCriterion("contract_number <=", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLike(String value) {
            addCriterion("contract_number like", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotLike(String value) {
            addCriterion("contract_number not like", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberIn(List<String> values) {
            addCriterion("contract_number in", values, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotIn(List<String> values) {
            addCriterion("contract_number not in", values, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberBetween(String value1, String value2) {
            addCriterion("contract_number between", value1, value2, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotBetween(String value1, String value2) {
            addCriterion("contract_number not between", value1, value2, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeIsNull() {
            addCriterion("card_zxtime is null");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeIsNotNull() {
            addCriterion("card_zxtime is not null");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeEqualTo(Date value) {
            addCriterion("card_zxtime =", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeNotEqualTo(Date value) {
            addCriterion("card_zxtime <>", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeGreaterThan(Date value) {
            addCriterion("card_zxtime >", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("card_zxtime >=", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeLessThan(Date value) {
            addCriterion("card_zxtime <", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeLessThanOrEqualTo(Date value) {
            addCriterion("card_zxtime <=", value, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeIn(List<Date> values) {
            addCriterion("card_zxtime in", values, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeNotIn(List<Date> values) {
            addCriterion("card_zxtime not in", values, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeBetween(Date value1, Date value2) {
            addCriterion("card_zxtime between", value1, value2, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andCardZxtimeNotBetween(Date value1, Date value2) {
            addCriterion("card_zxtime not between", value1, value2, "cardZxtime");
            return (Criteria) this;
        }

        public Criteria andDateTypeIsNull() {
            addCriterion("date_type is null");
            return (Criteria) this;
        }

        public Criteria andDateTypeIsNotNull() {
            addCriterion("date_type is not null");
            return (Criteria) this;
        }

        public Criteria andDateTypeEqualTo(Integer value) {
            addCriterion("date_type =", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeNotEqualTo(Integer value) {
            addCriterion("date_type <>", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeGreaterThan(Integer value) {
            addCriterion("date_type >", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("date_type >=", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeLessThan(Integer value) {
            addCriterion("date_type <", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeLessThanOrEqualTo(Integer value) {
            addCriterion("date_type <=", value, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeIn(List<Integer> values) {
            addCriterion("date_type in", values, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeNotIn(List<Integer> values) {
            addCriterion("date_type not in", values, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeBetween(Integer value1, Integer value2) {
            addCriterion("date_type between", value1, value2, "dateType");
            return (Criteria) this;
        }

        public Criteria andDateTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("date_type not between", value1, value2, "dateType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeIsNull() {
            addCriterion("zone_type is null");
            return (Criteria) this;
        }

        public Criteria andZoneTypeIsNotNull() {
            addCriterion("zone_type is not null");
            return (Criteria) this;
        }

        public Criteria andZoneTypeEqualTo(Integer value) {
            addCriterion("zone_type =", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeNotEqualTo(Integer value) {
            addCriterion("zone_type <>", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeGreaterThan(Integer value) {
            addCriterion("zone_type >", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("zone_type >=", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeLessThan(Integer value) {
            addCriterion("zone_type <", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeLessThanOrEqualTo(Integer value) {
            addCriterion("zone_type <=", value, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeIn(List<Integer> values) {
            addCriterion("zone_type in", values, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeNotIn(List<Integer> values) {
            addCriterion("zone_type not in", values, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeBetween(Integer value1, Integer value2) {
            addCriterion("zone_type between", value1, value2, "zoneType");
            return (Criteria) this;
        }

        public Criteria andZoneTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("zone_type not between", value1, value2, "zoneType");
            return (Criteria) this;
        }

        public Criteria andCardStatusIsNull() {
            addCriterion("card_status is null");
            return (Criteria) this;
        }

        public Criteria andCardStatusIsNotNull() {
            addCriterion("card_status is not null");
            return (Criteria) this;
        }

        public Criteria andCardStatusEqualTo(Integer value) {
            addCriterion("card_status =", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusNotEqualTo(Integer value) {
            addCriterion("card_status <>", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusGreaterThan(Integer value) {
            addCriterion("card_status >", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("card_status >=", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusLessThan(Integer value) {
            addCriterion("card_status <", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusLessThanOrEqualTo(Integer value) {
            addCriterion("card_status <=", value, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusIn(List<Integer> values) {
            addCriterion("card_status in", values, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusNotIn(List<Integer> values) {
            addCriterion("card_status not in", values, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusBetween(Integer value1, Integer value2) {
            addCriterion("card_status between", value1, value2, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("card_status not between", value1, value2, "cardStatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusIsNull() {
            addCriterion("card_zxstatus is null");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusIsNotNull() {
            addCriterion("card_zxstatus is not null");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusEqualTo(Integer value) {
            addCriterion("card_zxstatus =", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusNotEqualTo(Integer value) {
            addCriterion("card_zxstatus <>", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusGreaterThan(Integer value) {
            addCriterion("card_zxstatus >", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("card_zxstatus >=", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusLessThan(Integer value) {
            addCriterion("card_zxstatus <", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusLessThanOrEqualTo(Integer value) {
            addCriterion("card_zxstatus <=", value, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusIn(List<Integer> values) {
            addCriterion("card_zxstatus in", values, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusNotIn(List<Integer> values) {
            addCriterion("card_zxstatus not in", values, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusBetween(Integer value1, Integer value2) {
            addCriterion("card_zxstatus between", value1, value2, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andCardZxstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("card_zxstatus not between", value1, value2, "cardZxstatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusIsNull() {
            addCriterion("used_status is null");
            return (Criteria) this;
        }

        public Criteria andUsedStatusIsNotNull() {
            addCriterion("used_status is not null");
            return (Criteria) this;
        }

        public Criteria andUsedStatusEqualTo(Boolean value) {
            addCriterion("used_status =", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusNotEqualTo(Boolean value) {
            addCriterion("used_status <>", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusGreaterThan(Boolean value) {
            addCriterion("used_status >", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusGreaterThanOrEqualTo(Boolean value) {
            addCriterion("used_status >=", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusLessThan(Boolean value) {
            addCriterion("used_status <", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusLessThanOrEqualTo(Boolean value) {
            addCriterion("used_status <=", value, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusIn(List<Boolean> values) {
            addCriterion("used_status in", values, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusNotIn(List<Boolean> values) {
            addCriterion("used_status not in", values, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusBetween(Boolean value1, Boolean value2) {
            addCriterion("used_status between", value1, value2, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUsedStatusNotBetween(Boolean value1, Boolean value2) {
            addCriterion("used_status not between", value1, value2, "usedStatus");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("user_id like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("user_id not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andCardRemarkIsNull() {
            addCriterion("card_remark is null");
            return (Criteria) this;
        }

        public Criteria andCardRemarkIsNotNull() {
            addCriterion("card_remark is not null");
            return (Criteria) this;
        }

        public Criteria andCardRemarkEqualTo(String value) {
            addCriterion("card_remark =", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkNotEqualTo(String value) {
            addCriterion("card_remark <>", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkGreaterThan(String value) {
            addCriterion("card_remark >", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("card_remark >=", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkLessThan(String value) {
            addCriterion("card_remark <", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkLessThanOrEqualTo(String value) {
            addCriterion("card_remark <=", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkLike(String value) {
            addCriterion("card_remark like", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkNotLike(String value) {
            addCriterion("card_remark not like", value, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkIn(List<String> values) {
            addCriterion("card_remark in", values, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkNotIn(List<String> values) {
            addCriterion("card_remark not in", values, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkBetween(String value1, String value2) {
            addCriterion("card_remark between", value1, value2, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andCardRemarkNotBetween(String value1, String value2) {
            addCriterion("card_remark not between", value1, value2, "cardRemark");
            return (Criteria) this;
        }

        public Criteria andManagerIdIsNull() {
            addCriterion("manager_id is null");
            return (Criteria) this;
        }

        public Criteria andManagerIdIsNotNull() {
            addCriterion("manager_id is not null");
            return (Criteria) this;
        }

        public Criteria andManagerIdEqualTo(String value) {
            addCriterion("manager_id =", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdNotEqualTo(String value) {
            addCriterion("manager_id <>", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdGreaterThan(String value) {
            addCriterion("manager_id >", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdGreaterThanOrEqualTo(String value) {
            addCriterion("manager_id >=", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdLessThan(String value) {
            addCriterion("manager_id <", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdLessThanOrEqualTo(String value) {
            addCriterion("manager_id <=", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdLike(String value) {
            addCriterion("manager_id like", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdNotLike(String value) {
            addCriterion("manager_id not like", value, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdIn(List<String> values) {
            addCriterion("manager_id in", values, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdNotIn(List<String> values) {
            addCriterion("manager_id not in", values, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdBetween(String value1, String value2) {
            addCriterion("manager_id between", value1, value2, "managerId");
            return (Criteria) this;
        }

        public Criteria andManagerIdNotBetween(String value1, String value2) {
            addCriterion("manager_id not between", value1, value2, "managerId");
            return (Criteria) this;
        }

        public Criteria andParkIdIsNull() {
            addCriterion("park_id is null");
            return (Criteria) this;
        }

        public Criteria andParkIdIsNotNull() {
            addCriterion("park_id is not null");
            return (Criteria) this;
        }

        public Criteria andParkIdEqualTo(String value) {
            addCriterion("park_id =", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotEqualTo(String value) {
            addCriterion("park_id <>", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdGreaterThan(String value) {
            addCriterion("park_id >", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdGreaterThanOrEqualTo(String value) {
            addCriterion("park_id >=", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLessThan(String value) {
            addCriterion("park_id <", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLessThanOrEqualTo(String value) {
            addCriterion("park_id <=", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLike(String value) {
            addCriterion("park_id like", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotLike(String value) {
            addCriterion("park_id not like", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdIn(List<String> values) {
            addCriterion("park_id in", values, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotIn(List<String> values) {
            addCriterion("park_id not in", values, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdBetween(String value1, String value2) {
            addCriterion("park_id between", value1, value2, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotBetween(String value1, String value2) {
            addCriterion("park_id not between", value1, value2, "parkId");
            return (Criteria) this;
        }

        public Criteria andCarportNumIsNull() {
            addCriterion("carport_num is null");
            return (Criteria) this;
        }

        public Criteria andCarportNumIsNotNull() {
            addCriterion("carport_num is not null");
            return (Criteria) this;
        }

        public Criteria andCarportNumEqualTo(String value) {
            addCriterion("carport_num =", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumNotEqualTo(String value) {
            addCriterion("carport_num <>", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumGreaterThan(String value) {
            addCriterion("carport_num >", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumGreaterThanOrEqualTo(String value) {
            addCriterion("carport_num >=", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumLessThan(String value) {
            addCriterion("carport_num <", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumLessThanOrEqualTo(String value) {
            addCriterion("carport_num <=", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumLike(String value) {
            addCriterion("carport_num like", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumNotLike(String value) {
            addCriterion("carport_num not like", value, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumIn(List<String> values) {
            addCriterion("carport_num in", values, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumNotIn(List<String> values) {
            addCriterion("carport_num not in", values, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumBetween(String value1, String value2) {
            addCriterion("carport_num between", value1, value2, "carportNum");
            return (Criteria) this;
        }

        public Criteria andCarportNumNotBetween(String value1, String value2) {
            addCriterion("carport_num not between", value1, value2, "carportNum");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeIsNull() {
            addCriterion("open_remake is null");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeIsNotNull() {
            addCriterion("open_remake is not null");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeEqualTo(String value) {
            addCriterion("open_remake =", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeNotEqualTo(String value) {
            addCriterion("open_remake <>", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeGreaterThan(String value) {
            addCriterion("open_remake >", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeGreaterThanOrEqualTo(String value) {
            addCriterion("open_remake >=", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeLessThan(String value) {
            addCriterion("open_remake <", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeLessThanOrEqualTo(String value) {
            addCriterion("open_remake <=", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeLike(String value) {
            addCriterion("open_remake like", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeNotLike(String value) {
            addCriterion("open_remake not like", value, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeIn(List<String> values) {
            addCriterion("open_remake in", values, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeNotIn(List<String> values) {
            addCriterion("open_remake not in", values, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeBetween(String value1, String value2) {
            addCriterion("open_remake between", value1, value2, "openRemake");
            return (Criteria) this;
        }

        public Criteria andOpenRemakeNotBetween(String value1, String value2) {
            addCriterion("open_remake not between", value1, value2, "openRemake");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidIsNull() {
            addCriterion("monthcardtypeid is null");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidIsNotNull() {
            addCriterion("monthcardtypeid is not null");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidEqualTo(String value) {
            addCriterion("monthcardtypeid =", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidNotEqualTo(String value) {
            addCriterion("monthcardtypeid <>", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidGreaterThan(String value) {
            addCriterion("monthcardtypeid >", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidGreaterThanOrEqualTo(String value) {
            addCriterion("monthcardtypeid >=", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidLessThan(String value) {
            addCriterion("monthcardtypeid <", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidLessThanOrEqualTo(String value) {
            addCriterion("monthcardtypeid <=", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidLike(String value) {
            addCriterion("monthcardtypeid like", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidNotLike(String value) {
            addCriterion("monthcardtypeid not like", value, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidIn(List<String> values) {
            addCriterion("monthcardtypeid in", values, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidNotIn(List<String> values) {
            addCriterion("monthcardtypeid not in", values, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidBetween(String value1, String value2) {
            addCriterion("monthcardtypeid between", value1, value2, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andMonthcardtypeidNotBetween(String value1, String value2) {
            addCriterion("monthcardtypeid not between", value1, value2, "monthcardtypeid");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdIsNull() {
            addCriterion("usertype_id is null");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdIsNotNull() {
            addCriterion("usertype_id is not null");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdEqualTo(String value) {
            addCriterion("usertype_id =", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdNotEqualTo(String value) {
            addCriterion("usertype_id <>", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdGreaterThan(String value) {
            addCriterion("usertype_id >", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdGreaterThanOrEqualTo(String value) {
            addCriterion("usertype_id >=", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdLessThan(String value) {
            addCriterion("usertype_id <", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdLessThanOrEqualTo(String value) {
            addCriterion("usertype_id <=", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdLike(String value) {
            addCriterion("usertype_id like", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdNotLike(String value) {
            addCriterion("usertype_id not like", value, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdIn(List<String> values) {
            addCriterion("usertype_id in", values, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdNotIn(List<String> values) {
            addCriterion("usertype_id not in", values, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdBetween(String value1, String value2) {
            addCriterion("usertype_id between", value1, value2, "usertypeId");
            return (Criteria) this;
        }

        public Criteria andUsertypeIdNotBetween(String value1, String value2) {
            addCriterion("usertype_id not between", value1, value2, "usertypeId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}